#[test]
fn test_int_compare() {
    let test1 = "Apple";
    let test2 = "Orange";
    let test3 = "Apple";
    assert!(string_compare(test1, test2) < 0);
    assert!(string_compare(test2, test1) > 0);
    assert!(string_compare(test1, test3) == 0);
}
#[test]
fn test_int_equal() {
    let test1 = "this is a test string";
    let test2 = "this is a test string ";
    let test3 = "this is a test strin";
    let test4 = "this is a test strinG";
    let test5 = "this is a test string";
    assert_eq!(string_equal(test1, test5), true);
    assert_eq!(string_equal(test1, test2), false);
    assert_eq!(string_equal(test1, test3), false);
    assert_eq!(string_equal(test1, test4), false);
}
#[test]
fn test_pointer_compare() {
    let array = [0i32; 5];
    assert!(pointer_compare(&array[0], &array[4]) < 0);
    assert!(pointer_compare(&array[3], &array[2]) > 0);
    assert!(pointer_compare(&array[4], &array[4]) == 0);
}
#[test]
fn test_string_nocase_compare() {
    let test1 = "this is a test string";
    let test2 = "this is a test string ";
    let test3 = "this is a test strin";
    let test4 = "this is a test strinG";
    let test5 = "this is a test string";
    assert!(string_nocase_equal(test1, test5));
    assert!(!string_nocase_equal(test1, test2));
    assert!(!string_nocase_equal(test1, test3));
    assert!(string_nocase_equal(test1, test4));
}
fn main() {
    run_tests(tests);
    println!("num_assert: {}", NUM_ASSERT.load(Ordering::SeqCst));
}
